package com.xyzwps.lib.openapi.element;

import java.util.HashMap;
import java.util.Map;

public class Components implements OASElement {

    private final Map<String, Schema> schemas = new HashMap<>();
    // TODO: responses
    // TODO: parameters
    // TODO: examples
    // TODO: requestBodies
    // TODO: headers
    // TODO: securitySchemes
    // TODO: links
    // TODO: callbacks
    // TODO: pathItems

    public boolean isEmpty() {
        return schemas.isEmpty();
    }

    public Components addSchema(String name, Schema schema) {
        if (schema != null) {
            schemas.put(name, schema);
        }
        return this;
    }

    public Map<String, Schema> schemas() {
        return schemas;
    }

    @Override
    public void accept(OAEVisitor visitor) {
        visitor.visit(this);
    }
}
